<?php
/* 实现数据库封装，处理数据的增删改查 */
/**
 * Summary of get_conn
 * @return mysqli
 */
function get_conn() {
    $conn = new mysqli(
        "localhost",
        "root",
        "",
        "bbs",
        3308);

    // 设置字符集
    mysqli_query($conn, "set names'utf8'");

    // 判断连接时是否成功
    if (! $conn) {
        // 跳转页面,传参：查询字符串
        header("Location:../views/error.php?msg=数据库连接失败");
    }
    // 返回连接对象
    return $conn;

}

/**
 * Summary of exec_select
 * @param mixed $sql sql语句
 * @return array 二维数组
 */
function exec_select($sql) {
    // 获取连接对象
    $conn = get_conn();
    // 执行sql语句
    $result = mysqli_query($conn, $sql);
    // 处理结果集，返回二维数组
    $arr = array();
    foreach ($result as $row) {
        $arr[] = $row;
    }
    // 关闭数据库连接
    mysqli_close($conn);
    return $arr;
}
/**
 * Summary of exec_update
 * @param mixed $sql
 * @return int $num 受影响行数
 */
function exec_update($sql) {
    // 获取连接对象
    $conn = get_conn();
    // 执行sql语句
    $result = mysqli_query($conn, $sql);
    if (! $result) {
        header("Location:../views/error.php?msg=数据库操作失败");
    }
    // 获取受影响行数并返回
    $num = mysqli_affected_rows($conn);
    mysqli_close($conn);
    return $num;

}
?>